Danh sách thành viên nhóm 1 - S2:
| STT | MSSV | Họ và Tên |
|---|---|---|
| 35 | 20133076 | Văn Mai Thanh Nhật |
| 42 | 20133082 | Huỳnh Minh Phước |
| 3 | 20133029 | Nguyễn Trí Dũng |
| 14 | 20133047 | Lương Gia Huy |
Trong thị trường máy tính hiện nay, vì sự tiện lợi và linh hoạt của một chiếc laptop hay còn gọi là máy tính xách tay nên chúng đang dần dần thay thế những chiếc máy bàn cồng kềnh và nặng nề. Mọi thứ của một chiếc pc giờ đây đã gói gọn chỉ bằng một cuốn sách và từ đó ta có thể đem đến mọi nơi từ nhà riêng cho đến văn phòng hay thậm chí là quán cà phê để có thể làm việc, nó chiếm thị phần khá cao và cũng đang trở thành xu hướng hiện đại vì giúp ta có thể đồng bộ, xử lý công việc một cách dễ dàng và nhanh gọn.
Vì vậy trong những năm gần đây, giá của một chiếc laptop đã có nhiều sự thay đổi đáng kể. Có nhiều yếu tố ảnh hưởng đến giá của một chiếc laptop, những yếu tố này bao gồm thương hiệu sản xuất và những chính sách khuyến mãi của hãng hay là những tiện ích đi kèm. Ngoài ra, ở phần cứng, quan trọng chính là dung lượng bộ nhớ có thể lưu trữ dữ liệu, tốc độ của vi xử lý cũng không kém phần ảnh hưởng. Và đóng góp một phần nhỏ có thể kể đến thiết kế bên ngoài và hệ điều hành mà nó sử dụng, cũng đã tác động đến giá của một chiếc laptop hiện nay.
Và trong đề tài này, nhóm chúng em xin dùng bộ dữ liệu về thông số kỹ thuật và giá cả của laptop mới nhất để trực quan hoá mối liên hệ và tác động kể trên để phần nào hiểu rõ hơn về việc việc phân tích dữ liệu.
Theo như tác giả, nguồn dữ liệu ở đây được trích xuất từ Flipkart.com, một nền tảng thương mại điện tử hàng đầu của Ấn Độ hiện nay. Phương pháp thu thập đến từ một tiện ích mã nguồn mở tự động trên Chrome có tên là Instant Data Scrapper, nó sử dụng AI một cách tự động để trích xuất dữ liệu từ bất kỳ trang web nào và cho phép lưu dữ liệu thành file xlsx hay csv. Trong phần dữ liệu thì có sử dụng các biến số như là biến số định danh ( tên hãng, tên phiên bản, vi xử lý, ….) , biến số định lượng (ram, ssd, giá, …), ngoài ra còn sử dụng biến số nhị giá (như là màn hình cảm ứng, msoffice).
import pandas as pd
df = pd.read_csv('Cleaned_Laptop_data.csv')
# IN 3 DÒNG ĐẦU DỮ LIỆU
df.head(3)
| brand | model | processor_brand | processor_name | processor_gnrtn | ram_gb | ram_type | ssd | hdd | os | ... | display_size | warranty | Touchscreen | msoffice | latest_price | old_price | discount | star_rating | ratings | reviews | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | Lenovo | A6-9225 | AMD | A6-9225 Processor | 10th | 4 GB GB | DDR4 | 0 GB | 1024 GB | Windows | ... | Missing | 0 | No | No | 24990 | 32790 | 23 | 3.7 | 63 | 12 |
| 1 | Lenovo | Ideapad | AMD | APU Dual | 10th | 4 GB GB | DDR4 | 0 GB | 512 GB | Windows | ... | Missing | 0 | No | No | 19590 | 21325 | 8 | 3.6 | 1894 | 256 |
| 2 | Avita | PURA | AMD | APU Dual | 10th | 4 GB GB | DDR4 | 128 GB | 0 GB | Windows | ... | Missing | 0 | No | No | 19990 | 27990 | 28 | 3.7 | 1153 | 159 |
3 rows × 23 columns
import pandas as pd
df = pd.read_csv('Cleaned_Laptop_data.csv')
#IN 3 DÒNG CUỐI DỮ LIỆU
df.tail(3)
| brand | model | processor_brand | processor_name | processor_gnrtn | ram_gb | ram_type | ssd | hdd | os | ... | display_size | warranty | Touchscreen | msoffice | latest_price | old_price | discount | star_rating | ratings | reviews | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 893 | ASUS | Ryzen | AMD | Ryzen 9 | Missing | 4 GB GB | DDR4 | 1024 GB | 0 GB | Windows | ... | 16 | 1 | No | No | 142990 | 0 | 0 | 0.0 | 0 | 0 |
| 894 | SAMSUNG | Galaxy | Qualcomm | Snapdragon 7c | Missing | 4 GB GB | LPDDR4X | 0 GB | 512 GB | Windows | ... | Missing | 0 | No | No | 38990 | 47990 | 18 | 0.0 | 0 | 0 |
| 895 | Lenovo | Thinkpad | AMD | Ryzen 5 | 10th | 8 GB GB | DDR4 | 512 GB | 0 GB | DOS | ... | 14 | 0 | No | No | 57490 | 78400 | 26 | 4.2 | 18 | 4 |
3 rows × 23 columns
from tkinter import font
from turtle import color, colormode
import pandas as pd
import matplotlib.pyplot as plt
import plotly.express as px
%matplotlib inline
df = pd.read_csv('Cleaned_Laptop_data.csv')
# MỨC GIÁ TRUNG BÌNH THEO RAM
df.groupby(['ram_gb']).mean()['latest_price'].sort_values(ascending=True).plot(kind='bar',grid=True)
plt.ylabel('Average price',fontsize=15)
plt.xlabel('RAM Storage')
plt.title('Average price for RAM storage')
plt.show()
# GIÁ TRUNG BÌNH THEO TỪNG HÃNG
df.groupby(['brand']).mean()['latest_price'].sort_values(ascending=True).plot(kind='bar',grid=True)
plt.ylabel('Average price',fontsize=15)
plt.xlabel('Brand')
plt.title('Average price for each brand')
plt.show()
#SỐ LƯỢT ĐÁNH GIÁ
df.groupby(['brand']).mean()['ratings'].sort_values(ascending=True).plot(kind='bar',grid=True)
plt.ylabel('Rating counts',fontsize=15)
plt.xlabel('Brand')
plt.title('Rating count for each brand')
plt.show()
#SỐ SAO TRUNG BÌNH
df.groupby(['brand']).mean()['star_rating'].sort_values(ascending=False).plot(kind='barh',grid=True)
plt.xlabel('Average rating star /5*',fontsize=15)
plt.ylabel('Brand')
plt.title('Average rating stars for each brand')
plt.show()
# THỊ PHẦN
plt.figure(figsize=(30,30))
df.groupby(['brand']).count()['model'].sort_values(ascending=False).plot(kind='pie',autopct='%1.2f%%',grid=True,fontsize='20')
plt.xlabel('Brand',fontsize=20)
plt.show()
# SỰ TƯƠNG QUAN GIỮA DUNG LƯỢNG RAM, HÃNG VI XỬ LÝ, VÀ GIÁ TIỀN
fig = px.scatter_3d(df, x='processor_brand', y='ram_gb', z='latest_price',
color='brand')
fig.show()
Xây dựng mô hình hồi quy tuyến tính với biến giá của laptop là biến phụ thuộc và còn lại là biến độc lập.
Dựa vào kết quả của mô hình hồi quy tuyến tính trên sẽ loại những biến khỏi mô hình tương ứng. Từ đó xây dựng các mô hình hồi quy tuyến tính loại bỏ các biến không có tác động lên giá của laptop và chọn mô hình hợp lý để dự đoán giá của laptop.